﻿#define  _CRT_SECURE_NO_WARNINGS
//统计二进制中1的个数
// 
//写一个函数返回参数二进制中 1 的个数。
//比如： 15    0000 1111    4 个 1
//描述
//输入一个整数 n ，输出该数32位二进制表示中1的个数。其中负数用补码表示。
//数据范围：
//−2^31<= n <= 2^31−1
//即范围为 :
//−2147483648 <= n <= 2147483647

#include<stdio.h>
int NumberOf1(int n)
{
	int count = 0;
	while (n != 0)
	{
		n = n & (n - 1);
		count++;
	}
	return count;
}
int main()
{
	int n = 0;
	scanf("%d", &n);

	int ret = NumberOf1(n);

	printf("%d", ret);
	return 0;
}